user_timestamped_video#8
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new user_timestamped_video example to the LiveKit C++ example collection, demonstrating end-to-end propagation of VideoFrameMetadata::user_timestamp_us from a synthetic video producer to a consumer that logs received metadata.
Changes:
- Introduces
UserTimestampedVideoProducerto publish synthetic frames with optional user timestamps. - Introduces
UserTimestampedVideoConsumerto receive camera frames via a rich callback (with metadata) or a legacy callback (without metadata). - Wires the new example into the build with CMake and adds usage documentation.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
user_timestamped_video/producer/main.cpp |
New producer executable that publishes synthetic BGRA frames and optionally sets metadata.user_timestamp_us. |
user_timestamped_video/producer/CMakeLists.txt |
Builds and links the producer example against the LiveKit core target. |
user_timestamped_video/consumer/main.cpp |
New consumer executable that subscribes to camera frames and logs metadata when enabled. |
user_timestamped_video/consumer/CMakeLists.txt |
Builds and links the consumer example against the LiveKit core target. |
user_timestamped_video/README.md |
Documents how to run producer/consumer and the expected timestamp behavior. |
user_timestamped_video/CMakeLists.txt |
Adds producer/consumer subdirectories for the example. |
CMakeLists.txt |
Adds user_timestamped_video to the top-level build. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
86f0485 to
e7d3ec3
Compare
32a5c90 to
bd95181
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| << " " << program | ||
| << " <ws-url> <token> [--without-user-timestamp]\n" | ||
| << "or:\n" | ||
| << " LIVEKIT_URL=... LIVEKIT_TOKEN=... " << program | ||
| << " [--without-user-timestamp]\n"; |
There was a problem hiding this comment.
parseArgs() also accepts --with-user-timestamp, but the usage text only documents --without-user-timestamp. Update the usage (and/or README) to mention both flags so users can discover how to re-enable the default explicitly when scripting.
| << " " << program | ||
| << " <ws-url> <token> [--ignore-user-timestamp]\n" | ||
| << "or:\n" | ||
| << " LIVEKIT_URL=... LIVEKIT_TOKEN=... " << program | ||
| << " [--ignore-user-timestamp]\n"; |
There was a problem hiding this comment.
parseArgs() also accepts --read-user-timestamp, but the usage text only documents --ignore-user-timestamp. Consider documenting both flags (or removing the undocumented one) to avoid hidden CLI behavior.
Uh oh!
There was an error while loading. Please reload this page.